﻿var acc_handler = "./ajax/account.php";
function signup() {
		if(NearEast.doing)
				return false;
    clearError();

    if (!chk_sign()) return false;

    var data = "em=" + NearEast.val2("i_reg_email");
    data += "&pwd=" + NearEast.val2("i_reg_pass");

    NearEast.doing = true;
    NearEast.loading($("#btn_reg"),'正在提交请求');
    $('#btn_reg').attr('disabled',true);
    $('#btn_reg').fadeTo(300,.3);
    
    $.get(acc_handler + "?t=reg", data, function (data) {
        NearEast.doing = false;
        NearEast.loaded();
        $('#btn_reg').attr('disabled',false);
        $('#btn_reg').fadeTo(300,1);
        
        data = NearEast.toJSON(data);
        if (data.status == true) {
//            location = "/account/regactive";//////////////////////////////////////////
							regSuccess();
//						alert('注册成功');
//						$('#dialog').dialog('close');
            return;
        }
        else if (data.error && data.error.indexOf("-") != -1) {
            var arr = data.error.split("-");
            removeError($("#i_reg_" + arr[0]));
            showerr($("#i_reg_" + arr[0]), arr[1]);
            $("#" + arr[0]).select();
        } else {
            alert('error:' + data.error);
        }
    });
}

function initForm(){
		$('div.table input').each(function(){
				this.value = '';
				if(this.checked)
					this.checked = false;
		});
		$("#i_reg_pass").next().hide();
		clearError();
		$('div.table').show();
		$('#i_reg_success').hide();
}

function clearError() {
    $(".error_one").each(function () {
        this.parentNode.removeChild(this);
    });
}
function removeError(e) {
    e.parent().children().each(function () {
        if (this.className == "error_one") {
            this.parentNode.removeChild(this);
            return;
        }
    });
}
function chk_sign() {
    if (!chk_em($("#i_reg_email"))) return false;

    if (!chk_ps($("#i_reg_pass"))) return false;

    if (!chk_reps($("#i_reg_repass"))) return false;

    if (!$("#i_reg_agreement").attr("checked")) {
        showerr($("#i_reg_agreement").parent(), "您尚未同意注册条款！");
        return false;
    }

    return true;
}

//失焦检查
function check_em(e) {
    if (!chk_em(e)) return;
    NearEast.doing = true;
    $.get(acc_handler + "?t=chkem", "em=" + NearEast.val2(e), function (data) {
    		NearEast.doing = false;
        data = NearEast.toJSON(data);
        if (data.status == true) showok(e);
        else showerr(e, data.error);
    });
}
//提交检查
function chk_em(e) {
    if (!hasVal(e)) {
        showerr(e, "请输入您的邮箱！");
        e.focus();
        return false;
    } else if (!NearEast.checkEM(e.val())) {
        showerr(e, "请输入真实的Email地址！");
        e.select();
        return false;
    }
    return true;
}
function chk_ps(e) {

    e.next().hide();
    if (!hasVal(e)) {
        showerr(e, "请输入密码！");
        e.focus();
        return false;
    }
    var pwStrong = NearEast.checkPW(e.val());
    if (pwStrong == 1) {
        showerr(e, "密码安全太低，请重设！");
        e.focus();
        return false;
    } else {
        e.next().show();
        e.next().attr("class", "pwds" + (pwStrong - 1));//////////////////////////////////////////////////
        e.next().children().each(function (i) {
            $(this).removeClass("currs");
            if (i == pwStrong - 2) $(this).attr("class", "currs");
        });
        showok(e);
    }
    return true;
}
function chk_reps(e) {
    if (!hasVal(e)) {
        showerr(e, "请再次输入密码！");
        e.focus();
        return false;
    } else if (e.val() != $("#i_reg_pass").val()) {
        showerr(e, "两次输入密码不一致，密码大小写敏感。");
        e.select();
        return false;
    } else {
        showok(e);
    }
    return true;
}

function showok(e) {
    var p = document.createElement("p");
    p.className = "error_one";
    p.innerHTML = '<img src="./images/pic_ok.gif" style="vertical-align:middle" />';
    e.parent().append(p);
}
function showerr(e, err) {
    var p = document.createElement("p");
    p.className = "error_one";
    p.innerHTML = '<img src="./images/pic_error.gif" style="vertical-align:middle" /><span>' + err + '</span>';
    e.parent().append(p);
}

function hasVal(e) {
    var v = NearEast.val(e);
    return (v != "" && v != "请选择" && v != "选择或填写");
};

function regSuccess(){
		$('div.table').hide();
		$('#i_reg_success').show();
}
$(function () {		
		$("#i_reg_email")[0].onchange = function () {
        var e = $(this); removeError(e); check_em(e);
    };
    $("#i_reg_pass")[0].onchange = function () {
        var e = $(this); removeError(e); chk_ps(e);
    };
    $("#i_reg_repass")[0].onchange = function () {
        var e = $(this); removeError(e); chk_reps(e);
    };
    $("#i_reg_email").focus();
});